#ifndef _USER_APP_H_
#define _USER_APP_H_

#include "Global.h"
#include "UserOS\OS_Event.h"

typedef struct 
{
    uint8 SW_State;
    uint8 KNOB_State;
}Typedef_KNOB;


#define OS_EVENT_KEY_LEFT_PRESS     OS_EVENT_KEY1_PRESS
#define OS_EVENT_KEY_LEFT_RELEASE   OS_EVENT_KEY1_RELEASE
#define OS_EVENT_KEY_RIGHT_PRESS    OS_EVENT_KEY2_PRESS
#define OS_EVENT_KEY_RIGHT_RELEASE  OS_EVENT_KEY2_RELEASE
#define OS_EVENT_KEY_SW_SHORT       OS_EVENT_KEY3_SHORT_PRESS
#define OS_EVENT_KEY_SW_LONG        OS_EVENT_KEY3_LONG_PRESS
#define OS_EVENT_KEY_SW_DOUBLE      OS_EVENT_KEY3_DOUBLE_CLICK

#define KNOB_NULL    0x00        //---- 没有旋转        
#define KNOB_CW      0x01        //---- 顺时针命令
#define KNOB_CCW     0x02        //---- 逆时针命令
#define SW_PRESS     0x00        //---- 按键按下
#define SW_RELEASE   0x01        //---- 按键释放

#define CMD_KNOB_EVENT  0x60    //---- 旋转事件
#define CMD_SW_EVENT    0x61    //---- 按键事件
#define CMD_VR_EVENT    0x62    //---- 获取事件
#define CMD_FB_EVENT    0x63    //---- 反馈事件

#define SW_EVENT_SHORT  0x01    //---- 单击
#define SW_EVENT_DOUBLE 0x02    //---- 双击
#define SW_EVENT_LONG   0x03    //---- 长按

enum
{
    RECV_CMD_GET_VER=0x01,
    RECV_CMD_BREATHING=0x05,
    RECV_CMD_FADEOUT,
    RECV_CMD_FADEIN,
    RECV_CMD_LOADING,
    RECV_CMD_FLASH,
};

void initUserApp(void);
void DoKey(void);
void DoCommand(void);
#endif